/* Hero Banner 3 - no JS or framework dependency. Section background is positioned independently of text container. */
.hero-banner-3 {position:relative;width:100%;min-width:0;isolation:isolate}
.hero-banner-3 .hb3-banner {position:relative;isolation:isolate;min-height:var(--hb3-min-height,0px);border-radius:var(--hb3-radius,0px)}
.hero-banner-3 .hb3-backdrop {position:absolute;inset:0;z-index:-1;border-radius:inherit;background-color:var(--hb3-bg,#173650);background-image:linear-gradient(rgba(6,28,49,var(--hb3-opacity,.72)),rgba(6,28,49,var(--hb3-opacity,.72))),var(--hb3-image,none);background-position:center;background-size:cover;background-repeat:no-repeat}
.hero-banner-3 .hb3-gradient-left .hb3-backdrop {background-image:linear-gradient(90deg,rgba(6,28,49,var(--hb3-strong,.94)),rgba(6,28,49,var(--hb3-weak,.38))),var(--hb3-image,none)}
.hero-banner-3 .hb3-gradient-right .hb3-backdrop {background-image:linear-gradient(270deg,rgba(6,28,49,var(--hb3-strong,.94)),rgba(6,28,49,var(--hb3-weak,.38))),var(--hb3-image,none)}
.hero-banner-3 .hb3-gradient-top .hb3-backdrop {background-image:linear-gradient(180deg,rgba(6,28,49,var(--hb3-strong,.94)),rgba(6,28,49,var(--hb3-weak,.38))),var(--hb3-image,none)}
.hero-banner-3 .hb3-gradient-bottom .hb3-backdrop {background-image:linear-gradient(0deg,rgba(6,28,49,var(--hb3-strong,.94)),rgba(6,28,49,var(--hb3-weak,.38))),var(--hb3-image,none)}
.hero-banner-3 .hb3-gradient-none .hb3-backdrop {background-image:var(--hb3-image,none)}
/* Modern RGB overlay color override: choose a flat shade via --hb3-overlay; color-mix allows any CSS color */
@supports (color:color-mix(in srgb,red,transparent)) {
.hero-banner-3 .hb3-gradient-uniform .hb3-backdrop {background-image:linear-gradient(color-mix(in srgb,var(--hb3-overlay,#061c31) calc(var(--hb3-opacity,.72)*100%),transparent),color-mix(in srgb,var(--hb3-overlay,#061c31) calc(var(--hb3-opacity,.72)*100%),transparent)),var(--hb3-image,none)}
.hero-banner-3 .hb3-gradient-left .hb3-backdrop {background-image:linear-gradient(90deg,color-mix(in srgb,var(--hb3-overlay,#061c31) calc(var(--hb3-strong,.94)*100%),transparent),color-mix(in srgb,var(--hb3-overlay,#061c31) calc(var(--hb3-weak,.38)*100%),transparent)),var(--hb3-image,none)}
.hero-banner-3 .hb3-gradient-right .hb3-backdrop {background-image:linear-gradient(270deg,color-mix(in srgb,var(--hb3-overlay,#061c31) calc(var(--hb3-strong,.94)*100%),transparent),color-mix(in srgb,var(--hb3-overlay,#061c31) calc(var(--hb3-weak,.38)*100%),transparent)),var(--hb3-image,none)}
.hero-banner-3 .hb3-gradient-top .hb3-backdrop {background-image:linear-gradient(180deg,color-mix(in srgb,var(--hb3-overlay,#061c31) calc(var(--hb3-strong,.94)*100%),transparent),color-mix(in srgb,var(--hb3-overlay,#061c31) calc(var(--hb3-weak,.38)*100%),transparent)),var(--hb3-image,none)}
.hero-banner-3 .hb3-gradient-bottom .hb3-backdrop {background-image:linear-gradient(0deg,color-mix(in srgb,var(--hb3-overlay,#061c31) calc(var(--hb3-strong,.94)*100%),transparent),color-mix(in srgb,var(--hb3-overlay,#061c31) calc(var(--hb3-weak,.38)*100%),transparent)),var(--hb3-image,none)}
}
.hero-banner-3 .hb3-image-size-contain .hb3-backdrop {background-size:cover,contain}
.hero-banner-3 .hb3-position-left .hb3-backdrop {background-position:center,left center}
.hero-banner-3 .hb3-position-right .hb3-backdrop {background-position:center,right center}
.hero-banner-3 .hb3-position-top .hb3-backdrop {background-position:center,top center}
.hero-banner-3 .hb3-position-bottom .hb3-backdrop {background-position:center,bottom center}
.hero-banner-3 .hb3-content {position:relative;box-sizing:border-box;width:100%;max-width:var(--hb3-max-width,1170px);margin:0 auto;padding:var(--hb3-pad-top,70px) var(--hb3-pad-x,20px) var(--hb3-pad-bottom,70px);display:flex;align-items:center;justify-content:space-between;gap:var(--hb3-col-gap,35px)}
.hero-banner-3 .hb3-copy {min-width:0;max-width:var(--hb3-copy-width,760px);flex:1 1 auto}
.hero-banner-3 .hb3-kicker {color:var(--hb3-kicker-color,#fff);font-size:var(--hb3-kicker-size,13px);font-weight:750;line-height:1.45;letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px}
.hero-banner-3 .hb3-kicker:empty {display:none}
.hero-banner-3 .hb3-title {color:var(--hb3-title-color,#fff)!important;font-size:var(--hb3-title-size,clamp(28px,3vw,44px));line-height:1.15;font-weight:700;margin:0 0 14px}
.hero-banner-3 .hb3-title:empty {display:none}
.hero-banner-3 .hb3-description,.hero-banner-3 .hb3-description p {color:var(--hb3-desc-color,#fff)!important;font-size:var(--hb3-desc-size,16px);line-height:1.6}
.hero-banner-3 .hb3-description p {margin:0 0 10px}
.hero-banner-3 .hb3-description p:last-child {margin-bottom:0}
.hero-banner-3 .hb3-actions {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--hb3-btn-gap,12px);flex:0 0 auto}
.hero-banner-3 .hb3-button {display:inline-flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;text-decoration:none!important;white-space:normal;font-weight:700;font-size:14px;line-height:1.3;padding:14px 22px;border:2px solid transparent;border-radius:var(--hb3-btn-radius,5px);transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.hero-banner-3 .hb3-button:hover {transform:translateY(-2px)}
.hero-banner-3 .hb3-button:focus-visible {outline:3px solid #fff;outline-offset:3px}
.hero-banner-3 .hb3-button--primary {background:var(--hb3-btn1-bg,#397cab);color:var(--hb3-btn1-color,#fff)!important;border-color:var(--hb3-btn1-border,#397cab)}
.hero-banner-3 .hb3-button--primary:hover {background:var(--hb3-btn1-hover,#28658f);color:var(--hb3-btn1-color,#fff)!important}
.hero-banner-3 .hb3-button--secondary {background:var(--hb3-btn2-bg,transparent);color:var(--hb3-btn2-color,#fff)!important;border-color:var(--hb3-btn2-border,#fff)}
.hero-banner-3 .hb3-button--secondary:hover {background:var(--hb3-btn2-hover,rgba(255,255,255,.15));color:var(--hb3-btn2-color,#fff)!important}
.hero-banner-3 .hb3-button1-outline .hb3-button--primary {background:transparent}
.hero-banner-3 .hb3-button1-ghost .hb3-button--primary {background:transparent;border-color:transparent}
.hero-banner-3 .hb3-button2-outline .hb3-button--secondary {background:transparent}
.hero-banner-3 .hb3-button2-ghost .hb3-button--secondary {background:transparent;border-color:transparent}
.hero-banner-3 .hb3-buttons-compact .hb3-button {padding:10px 16px;font-size:13px}
.hero-banner-3 .hb3-buttons-large .hb3-button {padding:17px 27px;font-size:16px}
.hero-banner-3 .hb3-layout-center .hb3-content {flex-direction:column;text-align:center}
.hero-banner-3 .hb3-layout-center .hb3-copy {flex:auto;width:100%}
.hero-banner-3 .hb3-layout-center .hb3-actions {justify-content:center}
.hero-banner-3 .hb3-layout-split-left .hb3-content {flex-direction:row-reverse}
.hero-banner-3 .hb3-align-left .hb3-copy {text-align:left}
.hero-banner-3 .hb3-align-center .hb3-copy {text-align:center}
.hero-banner-3 .hb3-align-right .hb3-copy {text-align:right}
.hero-banner-3 .hb3-valign-start .hb3-content {align-items:flex-start}
.hero-banner-3 .hb3-valign-end .hb3-content {align-items:flex-end}
.hero-banner-3 .hb3-buttons-align-left .hb3-actions {justify-content:flex-start}
.hero-banner-3 .hb3-buttons-align-center .hb3-actions {justify-content:center}
.hero-banner-3 .hb3-buttons-align-right .hb3-actions {justify-content:flex-end}
.hero-banner-3 .hb3-banner.hb3-width-bleed {width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0}
.hero-banner-3 .hb3-header,.hero-banner-3 .hb3-footer {position:relative}
.hero-banner-3 .flexi-module-links,.hero-banner-3 .hb3-copy .ModuleEditLink {position:relative;z-index:2}
@media (max-width:767px) {
.hero-banner-3 .hb3-content,.hero-banner-3 .hb3-layout-split-left .hb3-content {flex-direction:column;align-items:stretch;gap:22px;padding:var(--hb3-mobile-pad-top,40px) 20px var(--hb3-mobile-pad-bottom,40px)}
.hero-banner-3 .hb3-copy {max-width:none;width:100%}
.hero-banner-3 .hb3-title {font-size:var(--hb3-mobile-title-size,clamp(26px,7vw,34px))}
.hero-banner-3 .hb3-actions {justify-content:flex-start;width:100%}
.hero-banner-3 .hb3-mobile-align-center .hb3-copy {text-align:center}
.hero-banner-3 .hb3-mobile-align-right .hb3-copy {text-align:right}
.hero-banner-3 .hb3-mobile-align-left .hb3-copy {text-align:left}
.hero-banner-3 .hb3-mobile-align-center .hb3-actions {justify-content:center}
.hero-banner-3 .hb3-mobile-align-right .hb3-actions {justify-content:flex-end}
.hero-banner-3 .hb3-mobile-buttons-full .hb3-actions {flex-direction:column;align-items:stretch}
.hero-banner-3 .hb3-mobile-buttons-full .hb3-button {width:100%}
}
@media (prefers-reduced-motion:reduce) {.hero-banner-3 .hb3-button {transition:none}.hero-banner-3 .hb3-button:hover {transform:none}}
